package com.ztrue.common.utilities;

/**
 * Created by zhangw on 2016/10/24.
 */
public class Assert {
    /**
     * 断言对象不可为NULL
     *
     * @param object 要检查的对象
     */
    public static void notNull(Object object) {
        notNull(object, "[断言失败] - 对象不可为NULL");
    }

    /**
     * 断言对象不可为空
     *
     * @param object  要检查的对象
     * @param message 异常提示信息
     */
    public static void notNull(Object object, String message) {
        if (object == null) {
            throw new IllegalArgumentException(message);
        }
    }

    /**
     * 判断字符串是否有内容
     *
     * @param text 要检查的字符串
     */
    public static void hasText(String text) {
        hasText(text, "[断言失败] - 字符串参数必须有内容，不可为NULL、空字符或空串");
    }

    /**
     * 判断字符串是否有内容
     *
     * @param text    要检查的字符串
     * @param message 异常提示信息
     */
    public static void hasText(String text, String message) {
        if (StringUtil.isEmpty(text)) {
            throw new IllegalArgumentException(message);
        }
    }

    /**
     * 判断一个整数是否为大于0的正整数
     *
     * @param v
     */
    public static void positiveInteger(int v, String message) {
        if (v <= 0) {
            throw new IllegalArgumentException(message);
        }
    }

    /**
     * 判断一个整数是否为大于0的正整数
     *
     * @param v  值
     * @param ex 异常描述
     */
    public static void positiveInteger(int v, RuntimeException ex) {
        if (v <= 0) {
            throw ex;
        }
    }
}
